using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.Serialization;

namespace Zsa.Emulation.Config
{
    [Serializable()]
    public class MruList <TValue> : IList<TValue>, ISerializable
    {
        /// <summary>
        /// The max size.
        /// </summary>
        private int _MaxSize;

        /// <summary>
        /// The values.
        /// </summary>
        private List<TValue> _Values;

        #region Constructors
        public MruList()
        {
        }

        public MruList(SerializationInfo info, StreamingContext context)
        {
        }
        #endregion Constructors


        #region ISerializable Members

        public void GetObjectData(SerializationInfo info, StreamingContext context)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        #endregion

        #region IList<TValue> Members

        public int IndexOf(TValue item)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public void Insert(int index, TValue item)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public void RemoveAt(int index)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public TValue this[int index]
        {
            get
            {
                throw new Exception("The method or operation is not implemented.");
            }
            set
            {
                throw new Exception("The method or operation is not implemented.");
            }
        }

        #endregion

        #region ICollection<TValue> Members

        public void Add(TValue item)
        {
           
        }

        public void Clear()
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public bool Contains(TValue item)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public void CopyTo(TValue[] array, int arrayIndex)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public int Count
        {
            get { throw new Exception("The method or operation is not implemented."); }
        }

        public bool IsReadOnly
        {
            get { throw new Exception("The method or operation is not implemented."); }
        }

        public bool Remove(TValue item)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        #endregion

        #region IEnumerable<TValue> Members

        public IEnumerator<TValue> GetEnumerator()
        {
            throw new Exception("The method or operation is not implemented.");
        }

        #endregion

        #region IEnumerable Members

        System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
        {
            throw new Exception("The method or operation is not implemented.");
        }

        #endregion


    }
}
